package com.dragon.modules.yuegou.entity.member;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.member.LiftConditionsConditionsTime;
import com.dragon.modules.yuegou.enums.member.LiftConditionsConditionsType;
import com.dragon.modules.yuegou.enums.member.LiftConditionsLiftType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 升降条件实体类<br>
 * 对应的表为：mem_lift_conditions<br>
 * 
 * @author pbuilder generated
 * @date 2019-11-19 10:02:55
 * @company sgy
 * @version 2.0
 */
@TableName("mem_lift_conditions")
@ApiModel(description = "升降条件")
public class LiftConditionsEntity {

    /**  */
	protected String id;

    /**  */
	protected String liftId;

    /** [枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH */
	@ApiModelProperty("[枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH")
	protected LiftConditionsConditionsTime conditionsTime;

    /** [枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE */
	@ApiModelProperty("[枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE")
	protected LiftConditionsConditionsType conditionsType;

    /** [枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION */
	@ApiModelProperty("[枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION")
	protected LiftConditionsLiftType liftType;

    /**  */
	protected Integer liftPoints;

    /**  */
	protected LocalDateTime createdTime;

    /**  */
	protected String createdBy;

	/**
	 * 构造一个空升降条件实体对象
	 */
	public LiftConditionsEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个升降条件实体对象
	 * 
	 * @param other 其它对象
	 */
	public LiftConditionsEntity(LiftConditionsEntity other){
		super();
     	this.id = other.id;
     	this.liftId = other.liftId;
     	this.conditionsTime = other.conditionsTime;
     	this.conditionsType = other.conditionsType;
     	this.liftType = other.liftType;
     	this.liftPoints = other.liftPoints;
     	this.createdTime = other.createdTime;
     	this.createdBy = other.createdBy;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取
	 * 
	 * @return liftId 
	 */
	public String getLiftId() {
		return liftId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param liftId 
	 */
	public void setLiftId(String liftId) {
		this.liftId = liftId;
	}

	/**
	 * 获取[枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH
	 * 
	 * @return conditionsTime [枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH
	 */
	public LiftConditionsConditionsTime getConditionsTime() {
		return conditionsTime;
	}
  	
	/**
	 * 设置[枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH
	 * 
	 * @param conditionsTime [枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH
	 */
	public void setConditionsTime(LiftConditionsConditionsTime conditionsTime) {
		this.conditionsTime = conditionsTime;
	}

	/**
	 * 获取[枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE
	 * 
	 * @return conditionsType [枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE
	 */
	public LiftConditionsConditionsType getConditionsType() {
		return conditionsType;
	}
  	
	/**
	 * 设置[枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE
	 * 
	 * @param conditionsType [枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE
	 */
	public void setConditionsType(LiftConditionsConditionsType conditionsType) {
		this.conditionsType = conditionsType;
	}

	/**
	 * 获取[枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION
	 * 
	 * @return liftType [枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION
	 */
	public LiftConditionsLiftType getLiftType() {
		return liftType;
	}
  	
	/**
	 * 设置[枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION
	 * 
	 * @param liftType [枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION
	 */
	public void setLiftType(LiftConditionsLiftType liftType) {
		this.liftType = liftType;
	}

	/**
	 * 获取
	 * 
	 * @return liftPoints 
	 */
	public Integer getLiftPoints() {
		return liftPoints;
	}
  	
	/**
	 * 设置
	 * 
	 * @param liftPoints 
	 */
	public void setLiftPoints(Integer liftPoints) {
		this.liftPoints = liftPoints;
	}

	/**
	 * 获取
	 * 
	 * @return createdTime 
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdTime 
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 * 
	 * @return createdBy 
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdBy 
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

    public String toString() {
		return new StringBuilder().append("LiftConditionsEntity{").
			append("id=").append(id).
			append(",liftId=").append(liftId).
			append(",conditionsTime=").append(conditionsTime).
			append(",conditionsType=").append(conditionsType).
			append(",liftType=").append(liftType).
			append(",liftPoints=").append(liftPoints).
			append(",createdTime=").append(createdTime).
			append(",createdBy=").append(createdBy).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public LiftConditionsEntity copy() {
		return new LiftConditionsEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /**  */
	public static final String COL_LIFT_ID = "lift_id";

    /** [枚举]会员等级条件时间：1-某天-ONEDAY、2-每天-EVERYDAY、3-某月-ONEMONTH、4-每月-EVERYMONTH */
	public static final String COL_CONDITIONS_TIME = "conditions_time";

    /** [枚举]会员等级条件类型：1-累计积分-CUMULATIVE、2-单笔消费-SINGLE */
	public static final String COL_CONDITIONS_TYPE = "conditions_type";

    /** [枚举]升降类型：1-升级规则-UPGRADE、2-降级规则-DEMOTION */
	public static final String COL_LIFT_TYPE = "lift_type";

    /**  */
	public static final String COL_LIFT_POINTS = "lift_points";

    /**  */
	public static final String COL_CREATED_TIME = "created_time";

    /**  */
	public static final String COL_CREATED_BY = "created_by";
}
